<script>
import { useSSRContext } from 'vue';

export default {
    data() {
        return {
            message: "这是Z07.vue",
            z07: "z07.vue",
            // 2、使用本地变量引入注入的值
            // fullmessage: this.localUser
        }
    },
    // 注入对象
    // 1、先引入
    // inject: ['user']
    // 一、使用别名直接引入本地变量
    inject: {
        localUser: {
            from: 'user',
            default: "李四"  // 设置默认值
        },
        localAge: {
            from: 'age',
            default: 100
        },
        // 1、响应式对象传值
        localObj: {
            from: 'obj'
        },
        // 2、响应式函数传值
        localMessage: {
            from: 'message'
        }
    },
    computed: {
        // 使用计算属性避免每次调用都执行函数的问题
        newMsg() {
            return this.localMessage()
        }
    }
}
</script>
    
<template>
    <div>
        <h3>{{message}}</h3>
        <!-- <h5>{{fullmessage}}</h5> -->
        <h5>{{localUser}}:{{localAge}}</h5>
        <h3>obj:{{localObj.name}}</h3>
        <!-- 因为传递的是函数，所以要执行才能显示数值 -->
        <h3>message:{{newMsg}}</h3>
    </div>
</template>
